home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / gui / MR_Classes.lha / MR_Classes / Dev / Source / supermodel / modelclass.doc < prev    next >
Encoding:
Text File  |  2000-08-20  |  3.8 KB  |  149 lines

  1. #include <boopsi/supermodel.h>
  2.  
  3. /****** supermodel.class/--datasheet-- ******************************************
  4. *
  5. *   NAME
  6. *       supermodel.class -- Model and IC class
  7. *
  8. *   SUPERCLASS
  9. *       modelclass
  10. *
  11. *   DESCRIPTION
  12. *       
  13. *
  14. *   METHODS
  15. *       
  16. *
  17. *   ATTRIBUTES
  18. *       SMA_AddMember - calls OM_ADDMEMBER
  19. *
  20. *       SMA_RemMember - calls OM_REMMEMBER
  21. *
  22. *       SMA_GlueFunc - Glue code, does tag mapping/conversion, etc.  
  23. *           See example.
  24. *           see --datasheet-GlueFunc--
  25. *
  26. *       SMA_GlueFuncA6 - If your glue code is in a library, set this to
  27. *           your Library base.
  28. *
  29. *       SMA_GlueFuncUserData - 
  30. *
  31. *       SMA_CacheStringTag - cache string data
  32. *
  33. *       icclass Tags supported also
  34. *
  35. *   NOTES
  36. *
  37. *   BUGS
  38. *       Doesn't fail if SMA_AddMember is NULL during OM_NEW.
  39. *       It will in the future.
  40. *
  41. *   SEE ALSO
  42. *
  43. ******************************************************************************
  44. *
  45. */
  46.  
  47. /****** supermodel.class/--datasheet-GlueFunc-- ******************************************
  48. *
  49. *   NAME
  50. *       GlueFunc
  51. *
  52. *   SYNOPSIS
  53. *       rv GlueFunc(GlueData, TagList, [userdata], [a6])
  54. *       d0          a0        a1       a2          a6
  55. *       
  56. *       ULONG GlueFunc(struct smGlueData *, struct TagItem *, APTR, APTR);
  57. *
  58. *   FUNCTION
  59. *       GlueFunc is a function you provide to modify a tag list before
  60. *       being sent to the members and ICA_TARGET of the modelclass.
  61. *
  62. *       You may modify TagList and use the SMTAG_functions to modify 
  63. *       TagList, however, don't free TagList.
  64. *       
  65. *       Call SM_SendGlueAttrsA() to send your new attributes back to the
  66. *       model class for notifiaction.
  67. *
  68. *   NOTES
  69. *       There is room for 50 tags in TagList
  70. *
  71. *   BUGS
  72. *
  73. *   SEE ALSO
  74. *
  75. ******************************************************************************
  76. *
  77. */
  78.  
  79. /****** supermodel.class/--datasheet-supericclass-- ******************************************
  80. *
  81. *   NAME
  82. *       supermodel.class -- IC class
  83. *
  84. *   SUPERCLASS
  85. *       icclass
  86. *
  87. *   DESCRIPTION
  88. *       An interconnect object, creates a data path between a supermodel
  89. *       object and other objects (usually gadgets)
  90. *
  91. *   METHODS
  92. *
  93. *   ATTRIBUTES
  94. *         SICA_Model - set by model class when addmembered.
  95. *
  96. *         ICA_TARGET - target object
  97. *
  98. *         You may set either ICA_MAP or SICA_TargetMap or 
  99. *           (SICA_ToTargetMap and SICA_FromTargetMap)
  100. *
  101. *         ICA_MAP - map tags
  102. *           The supplied taglist is cloned and applied to the ic object.
  103. *           Another taglist is built by reversing the tags and applied to 
  104. *             the targeted object.
  105. *
  106. *         SICA_TargetMap -
  107. *           The supplied taglist is cloned and applied to the targeted object.
  108. *           Another taglist is built by reversing the tags and applied to 
  109. *             the ic object.
  110. *
  111. *         SICA_ToTargetMap - Applied to tags sent from the
  112. *                            ic object to the targeted object.
  113. *
  114. *         SICA_FromTargetMap - Applied to tags sent from the
  115. *                   targeted object to, likely, the modelobject
  116. *
  117. *
  118. *   NOTES
  119. *       if ICA_TARGET is valid,
  120. *       the ic object will set the Target's ICA_TARGET and ICA_MAP.
  121. *
  122. *   BUGS
  123. *
  124. *   SEE ALSO
  125. *
  126. ******************************************************************************
  127. *
  128. */
  129.  
  130. /****** supermodel.class/--History-- ******************************************
  131. *
  132. *   To Do
  133. *
  134. *   44.1 -
  135. *       * GlueCode was freeing memory twice.
  136. *       * Added SMA_CacheStringTag - Anytime this tag is passed through
  137. *         the model class, the string supplied is cached, and ti_Data
  138. *         is updated to point to the cache.
  139. *   44.2 - 
  140. *       * Included version string
  141. *   44.3 -
  142. *       * Now failes during OM_NEW if any SMA_AddMember is null.
  143. *       * Documentation update.
  144. *       * ICA_MAP support in superic was changed
  145. *
  146. ******************************************************************************
  147. *
  148. */
  149.